package com.google.code.p.restrpc;

public interface MutableRpcRequest extends RpcRequest {
    
    /**
     * @return
     */
    public void setProtocal(RpcProtocal protocal);
    
    /**
     * @return
     */
    public void setTransferFormat(TransferFormat format);
    
    /**
     * @return
     */
    public void setAddress(String address);
    
    /**
     * @return
     */
    public void setPort(int port);
    
    /**
     * @return default value : 1
     */
    public void setWeight(int weight);
    
    /**
     * @return
     */
    public void setContext(String context);
    
    /**
     * @return
     */
    public void setServiceName(String serviceName);
    
    /**
     * @return
     */
    public void setMethodName(String methodName);
    
    /**
     * @param async
     */
    public void setAsync(boolean async);
    
    /**
     * @param id
     *            if id is not null or empty, mark the async flag as true
     */
    public void setRequestId(String id);
    
}
